bool OriginAimbot::AutoEdge(int ax,vec3_t origin)
{

vec3_t up, right, forward, playerAngles,EntViewOrg;

playerAngles[0]=0;
playerAngles[1]=vPlayers[ax].getEnt()->angles[1];
playerAngles[2]=0;

AngleVectors (playerAngles, forward, right, up);

forward[2] = -forward[2];

float h=0;
float r=0;
float f=0;

if (vPlayers[ax].getEnt()->curstate.usehull==0 && AimVecsS.size() > 0)
{
f = AimVecsS[0].f;
h = AimVecsS[0].h;
r = AimVecsS[0].r;
}
else if(vPlayers[ax].getEnt()->curstate.gaitsequence == 2 && AimVecsD.size() > 0 )
{
f = AimVecsD[0].f;
h = AimVecsD[0].h;
r = AimVecsD[0].r;
}
else if(vPlayers[ax].getEnt()->curstate.gaitsequence == 6 && AimVecsJ.size() > 0)
{
f = AimVecsJ[0].f;
h = AimVecsJ[0].h;
r = AimVecsJ[0].r;
}
forward = forward * f;
up = up * h;
right = right * r;


VectorCopy(origin,EntViewOrg);

EntViewOrg = EntViewOrg + forward;
EntViewOrg = EntViewOrg + up;
EntViewOrg = EntViewOrg + right;

if(PathFree(me.pmEyePos,EntViewOrg)) return true;

if(cvar.autoedge)
{
VectorCopy(origin,EntViewOrg);

EntViewOrg = EntViewOrg + forward * cvar.ae_f;
EntViewOrg = EntViewOrg + up;
EntViewOrg = EntViewOrg + right * cvar.ae_r;

if(PathFree(me.pmEyePos,EntViewOrg)) return true;

VectorCopy(origin,EntViewOrg);

EntViewOrg = EntViewOrg + forward * cvar.ae_f;
EntViewOrg = EntViewOrg + up;
EntViewOrg = EntViewOrg + right * (0-cvar.ae_r);

if(PathFree(me.pmEyePos,EntViewOrg)) return true;

VectorCopy(origin,EntViewOrg);

EntViewOrg = EntViewOrg + forward * (cvar.ae_f/2);
EntViewOrg = EntViewOrg + up;
EntViewOrg = EntViewOrg + right * (cvar.ae_r/2);

if(PathFree(me.pmEyePos,EntViewOrg)) return true;

VectorCopy(origin,EntViewOrg);

EntViewOrg = EntViewOrg + forward * (cvar.ae_f/2);
EntViewOrg = EntViewOrg + up;
EntViewOrg = EntViewOrg + right * (0-(cvar.ae_r/2));

if(PathFree(me.pmEyePos,EntViewOrg)) return true;

}
return false;